﻿using System;

namespace Xenta.Tasks
{
    /// <summary>
    /// Exposes the task scheduler interface.
    /// </summary>
    /// <remarks>
    /// The task scheduler component schedules all 
    /// registered task components. It is being started 
    /// automatically,  within the infrastructure 
    /// instantiating process.
    /// </remarks>
    public interface ITaskScheduler : IDependency, IDisposable
    {
        #region Methods

        /// <summary>
        /// Starts scheduling.
        /// </summary>
        void Start();

        /// <summary>
        /// Stops scheduling.
        /// </summary>
        void Stop();

        #endregion
    }
}
